const Koa = require('koa'); // commonJS
const Router = require('@koa/router');
const fs = require('fs')
const views = require('koa-views');


const app = new Koa();
const router = new Router();

// 页面
router.get('/home', async ctx => await ctx.render('index.html'))

// 查询
router.get('/', (ctx, next) => {
  // 拿参数

  // 逻辑处理
  const res = JSON.parse(fs.readFileSync('./goods.json', 'utf8'))

  console.log(res);

  // 返回
  ctx.body = res
});

// 添加
router.post('/add', (ctx, next) => {
  // 拿参数
  const { name, price } = ctx.query;

  // 逻辑处理
  const res = JSON.parse(fs.readFileSync('./goods.json', 'utf8'))

  res.push({
    id: Date.now(),
    name: name,
    price: price
  })

  console.log(res);

  fs.writeFileSync('./goods.json', JSON.stringify(res))


  // 返回
  ctx.body = res
});

router.put('/edit', async ctx => {
  //拿参数
  const { id, name, price } = ctx.query;
  //逻辑处理
  const res = JSON.parse(fs.readFileSync('./goods.json', 'utf8'))

  const index = res.findIndex(item => item.id == id)
  res[index].name = name
  res[index].price = price

  fs.writeFileSync('./goods.json', JSON.stringify(res))
  //给前端返回
  ctx.body = res
});

router.delete('/del', async ctx => {
  //拿参数
  //逻辑处理
  //给前端返回
})




// router.get('/login', (ctx, next) => {
//   ctx.body = '这是登陆页'
// });

// router.get('/registry', (ctx, next) => {
//   ctx.body = '这是注册页'
// });

app
  .use(views(__dirname + '/views'))
  .use(router.routes())
  .listen(7001, () => {
    console.log('koa 服务已经启动 http://localhost:7001'); // http://127.0.0.1:7001
    console.log('__dirname-----', __dirname);
  });

// vscode 打开 demo1, 进入终端
// npm init -y  会生成一个 package.json 文件
// npm i koa
// 在项目根目录下创建 app.js 文件
// 去 koa 官网( https://www.koajs.com.cn/ ) 把代码粘过来
// 在终端运行 node app.js
// 进入 http://localhost:7001
// 能看到 Hello World 就算成功了